
convert2.o:     file format elf64-littleaarch64


Disassembly of section .text:

0000000000000000 <test>:
	int c;
	struct tt t;
};

int test(struct tt *ts)
{
   0:	a9bd7bfd 	stp	x29, x30, [sp, #-48]!
   4:	910003fd 	mov	x29, sp
   8:	f9000fa0 	str	x0, [x29, #24]
//	struct tt *t;
	struct wd *w;
	char *p;
	
	ts->a = 'a';
   c:	f9400fa0 	ldr	x0, [x29, #24]
  10:	52800c21 	mov	w1, #0x61                  	// #97
  14:	39000001 	strb	w1, [x0]
	ts->private_data = "wiaozhi_1234567890";
  18:	f9400fa0 	ldr	x0, [x29, #24]
  1c:	90000001 	adrp	x1, 0 <test>
  20:	91000021 	add	x1, x1, #0x0
  24:	f9000401 	str	x1, [x0, #8]
	
	//w = (struct wd *)t->private_data;
	w = ts->private_data;
  28:	f9400fa0 	ldr	x0, [x29, #24]
  2c:	f9400400 	ldr	x0, [x0, #8]
  30:	f90017a0 	str	x0, [x29, #40]
	p = ts->private_data;
  34:	f9400fa0 	ldr	x0, [x29, #24]
  38:	f9400400 	ldr	x0, [x0, #8]
  3c:	f90013a0 	str	x0, [x29, #32]
	
	//							wiao   zhi_ 1234  567890
	//							w      z    1     5      wiaozhi_1234567890
	printf("%c %c %c %c %s\n", w->a, w->b, w->c, w->t.a, p);
  40:	f94017a0 	ldr	x0, [x29, #40]
  44:	39400000 	ldrb	w0, [x0]
  48:	2a0003e6 	mov	w6, w0
  4c:	f94017a0 	ldr	x0, [x29, #40]
  50:	b9400401 	ldr	w1, [x0, #4]
  54:	f94017a0 	ldr	x0, [x29, #40]
  58:	b9400802 	ldr	w2, [x0, #8]
  5c:	f94017a0 	ldr	x0, [x29, #40]
  60:	39404000 	ldrb	w0, [x0, #16]
  64:	2a0003e3 	mov	w3, w0
  68:	90000000 	adrp	x0, 0 <test>
  6c:	91000000 	add	x0, x0, #0x0
  70:	f94013a5 	ldr	x5, [x29, #32]
  74:	2a0303e4 	mov	w4, w3
  78:	2a0203e3 	mov	w3, w2
  7c:	2a0103e2 	mov	w2, w1
  80:	2a0603e1 	mov	w1, w6
  84:	94000000 	bl	0 <printf>
	
	return 0;
  88:	52800000 	mov	w0, #0x0                   	// #0
}
  8c:	a8c37bfd 	ldp	x29, x30, [sp], #48
  90:	d65f03c0 	ret

0000000000000094 <T>:
				((char *)&((T3) {1, (char *) 1}))
			}
		};
		
int T()
{
  94:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
  98:	910003fd 	mov	x29, sp
  9c:	f9000bf3 	str	x19, [sp, #16]
	T3 *pt3 = (T3*)a[0].value;
  a0:	90000000 	adrp	x0, 10 <test+0x10>
  a4:	91000000 	add	x0, x0, #0x0
  a8:	f9400400 	ldr	x0, [x0, #8]
  ac:	f9001fa0 	str	x0, [x29, #56]
	int value;
	char *b = "xiaozhi";
  b0:	90000000 	adrp	x0, 0 <test>
  b4:	91000000 	add	x0, x0, #0x0
  b8:	f9001ba0 	str	x0, [x29, #48]
	char c[] = {'a', 'b', 'c', 'd', 'e', 'f'};
  bc:	90000000 	adrp	x0, 0 <test>
  c0:	91000001 	add	x1, x0, #0x0
  c4:	910083a0 	add	x0, x29, #0x20
  c8:	b9400022 	ldr	w2, [x1]
  cc:	b9000002 	str	w2, [x0]
  d0:	b8402021 	ldur	w1, [x1, #2]
  d4:	b8002001 	stur	w1, [x0, #2]
	
	value = sizeof(a);
  d8:	52800200 	mov	w0, #0x10                  	// #16
  dc:	b9002fa0 	str	w0, [x29, #44]
	printf("T() : %d %d %d %d sizeof c=%d strlen c=%d\n", 
  e0:	f9401ba0 	ldr	x0, [x29, #48]
  e4:	94000000 	bl	0 <strlen>
  e8:	aa0003f3 	mov	x19, x0
  ec:	910083a0 	add	x0, x29, #0x20
  f0:	94000000 	bl	0 <strlen>
  f4:	aa0003e1 	mov	x1, x0
  f8:	90000000 	adrp	x0, 0 <test>
  fc:	91000000 	add	x0, x0, #0x0
 100:	aa0103e6 	mov	x6, x1
 104:	d28000c5 	mov	x5, #0x6                   	// #6
 108:	aa1303e4 	mov	x4, x19
 10c:	d2800103 	mov	x3, #0x8                   	// #8
 110:	d2800102 	mov	x2, #0x8                   	// #8
 114:	b9402fa1 	ldr	w1, [x29, #44]
 118:	94000000 	bl	0 <printf>
					 value, sizeof(long),
					 sizeof(b), strlen(b), 
					 sizeof(c), strlen(c));	//  8 4 4 7 sizeof c=6 strlen c=7

	return (int)pt3->value;
 11c:	f9401fa0 	ldr	x0, [x29, #56]
 120:	f9400400 	ldr	x0, [x0, #8]
}
 124:	f9400bf3 	ldr	x19, [sp, #16]
 128:	a8c47bfd 	ldp	x29, x30, [sp], #64
 12c:	d65f03c0 	ret

0000000000000130 <main>:
	}nested;
} ix = { .nested.y = 5, 6, .x = 1, 2};


int main()
{
 130:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
 134:	910003fd 	mov	x29, sp
	struct tt t;
	struct wd w;
	int value;
	
	test(&t);
 138:	9100c3a0 	add	x0, x29, #0x30
 13c:	94000000 	bl	0 <test>
	 T();
 140:	94000000 	bl	94 <T>

	
	return 0;
 144:	52800000 	mov	w0, #0x0                   	// #0
}
 148:	a8c47bfd 	ldp	x29, x30, [sp], #64
 14c:	d65f03c0 	ret
